package com.letere.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * @author letere
 * @create 2021-02-12 17:33
 */
public class FileUtil {
    /**
     * 删除文件夹及其子文件
     * @param dir
     * @return true:删除成功 / false：删除出现异常
     */
    public static boolean deleteDir(File dir) {
        if(dir.isDirectory()) {
            String[] childFiles = dir.list();
            for(String file : childFiles) {
                deleteDir(new File(dir, file)); //递归调用删除文件夹
            }
        }
        return dir.delete();
    }

    /**
     * 读取本地文件，并转变成字节数组
     * @param path
     * @return
     */
    public static byte[] readFile(String path){
        byte[] image = new byte[0];
        try {
            //创建相应的文件输入流（不要省略创建File对象的过程）
            File file = new File(path);
            FileInputStream fis = new FileInputStream(file);

            //获取文件大小，文件名，并创建相应大小的byte[]数组
            String filename = file.getName();
            long length = file.length();
            image = new byte[(int)length];

            //将文件输入流中的数据保存[读入]到byte[]数组中
            fis.read(image);

            //关闭流
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return image;
    }
}
